Index: usr.sbin/kldxref/kldxref.c
===================================================================
--- usr.sbin/kldxref/kldxref.c	(revision 265111)
+++ usr.sbin/kldxref/kldxref.c	(working copy)
@@ -274,6 +274,16 @@ usage(void)
 	exit(1);
 }
 
+static int
+compare(const FTSENT *const *a, const FTSENT *const *b)
+{
+	if ((*a)->fts_info == FTS_D && (*b)->fts_info != FTS_D)
+		return 1;
+	if ((*a)->fts_info != FTS_D && (*b)->fts_info == FTS_D)
+		return -1;
+	return strcmp((*a)->fts_name, (*b)->fts_name);
+}
+
 int
 main(int argc, char *argv[])
 {
@@ -315,7 +325,7 @@ main(int argc, char *argv[])
 		err(1, "%s", argv[0]);
 	}
 
-	ftsp = fts_open(argv, fts_options, 0);
+	ftsp = fts_open(argv, fts_options, compare);
 	if (ftsp == NULL)
 		exit(1);
 
